package com.iring.domain.common;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * 设备信息
 *
 * @author wanggan
 */
@Entity
@Table(name = "t_device_info_b")
public class DeviceInfo implements Serializable {

    private static final long serialVersionUID = -5561863374080898767L;
    @Id
    @GeneratedValue
    @Column(name = "id")
    private Integer id;

    @Column(name = "mac")
    private String mac;

    @Column(name = "devicemodel_id")
    private Integer devicekind;

    @Column(name = "username")
    private String username;

    @Column(name = "device_online")
    private Integer isOnline;

    @Column(name = "trunk_online")
    private Integer trunkOnline;

    @Column(name = "device_domain")
    private String deviceDomain;

    @Column(name = "iringtel_num")
    private String iringtelNum;

    @Column(name = "iringtel_password")
    private String iringtelPassword;

    @Column(name = "vpn_ip")
    private String vpnIp;

    @Column(name = "privite_wan_ip")
    private String priviteWanIp;

    @Column(name = "privite_lan_ip")
    private String priviteLanIp;

    @Column(name = "public_ip")
    private String publicIp;

    @Column(name = "public_port")
    private Integer publicPort;

    @Column(name = "device_username")
    private String deviceUsername;

    @Column(name = "system_version")
    private String version;

    @Column(name = "update_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime;

    @Column(name = "vpn_status")
    private Integer vpnStatus;

    @Column(name = "proxy_online")
    private Integer proxyOnline;

    @Override
    public String toString() {
        return "{id:" + id + ",mac:" + mac + ",devicekind:" + devicekind + ",username:"
                + username + ",isOnline:" + isOnline + ",trunkOnline:" + trunkOnline
                + ",deviceDomain:" + deviceDomain + ",iringtelNum:" + iringtelNum + ",iringtelPassword:"
                + iringtelPassword + ",vpnIp:" + vpnIp + ",priviteWanIp:" + priviteWanIp + ",priviteLanIp:"
                + priviteLanIp + ",publicIp:" + publicIp + ",publicPort:" + publicPort + ",deviceUsername:"
                + deviceUsername + ",version:" + version + ",updateTime:" + updateTime + ",vpnStatus:" + vpnStatus
                + ",proxyOnline:" + proxyOnline + "}";
    }

    public Integer getId() {
        return id;
    }

    public String getMac() {
        return mac;
    }

    public Integer getDevicekind() {
        return devicekind;
    }

    public String getUsername() {
        return username;
    }

    public Integer getIsOnline() {
        return isOnline;
    }

    public Integer getTrunkOnline() {
        return trunkOnline;
    }

    public String getDeviceDomain() {
        return deviceDomain;
    }

    public String getIringtelNum() {
        return iringtelNum;
    }

    public String getIringtelPassword() {
        return iringtelPassword;
    }

    public String getVpnIp() {
        return vpnIp;
    }

    public String getPriviteWanIp() {
        return priviteWanIp;
    }

    public String getPriviteLanIp() {
        return priviteLanIp;
    }

    public String getPublicIp() {
        return publicIp;
    }

    public Integer getPublicPort() {
        return publicPort;
    }

    public String getDeviceUsername() {
        return deviceUsername;
    }

    public String getVersion() {
        return version;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public Integer getVpnStatus() {
        return vpnStatus;
    }

    public Integer getProxyOnline() {
        return proxyOnline;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public void setDevicekind(Integer devicekind) {
        this.devicekind = devicekind;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setIsOnline(Integer isOnline) {
        this.isOnline = isOnline;
    }

    public void setTrunkOnline(Integer trunkOnline) {
        this.trunkOnline = trunkOnline;
    }

    public void setDeviceDomain(String deviceDomain) {
        this.deviceDomain = deviceDomain;
    }

    public void setIringtelNum(String iringtelNum) {
        this.iringtelNum = iringtelNum;
    }

    public void setIringtelPassword(String iringtelPassword) {
        this.iringtelPassword = iringtelPassword;
    }

    public void setVpnIp(String vpnIp) {
        this.vpnIp = vpnIp;
    }

    public void setPriviteWanIp(String priviteWanIp) {
        this.priviteWanIp = priviteWanIp;
    }

    public void setPriviteLanIp(String priviteLanIp) {
        this.priviteLanIp = priviteLanIp;
    }

    public void setPublicIp(String publicIp) {
        this.publicIp = publicIp;
    }

    public void setPublicPort(Integer publicPort) {
        this.publicPort = publicPort;
    }

    public void setDeviceUsername(String deviceUsername) {
        this.deviceUsername = deviceUsername;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setVpnStatus(Integer vpnStatus) {
        this.vpnStatus = vpnStatus;
    }

    public void setProxyOnline(Integer proxyOnline) {
        this.proxyOnline = proxyOnline;
    }
}
